package com.zc.im.common.util;

import com.zc.im.common.constant.enums.BaseEnum;

import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;

/**
 * Project：im
 * Date：2022/4/21
 * Time：9:40
 * Description：枚举工具类
 *
 * @author Challen.Zhang
 * @version 1.0
 */
public class EnumUtil {


    /**
     * 返回枚举
     *
     * @param d 数据
     * @return 枚举
     */
    public static <T extends BaseEnum<D>, D> T getEnum(D d, Class<T> targetType) {
        T[] enumConstants = targetType.getEnumConstants();
        for (T t : enumConstants) {
            if (t.getValue() == d) {
                return t;
            }
        }
        return null;
    }


}
